//
//  NSObject+VTValue.h
//  vTeam
//
//  Created by zhang hailong on 13-12-30.
//  Copyright (c) 2013年 hailong.org. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSObject (VTValue)

-(NSString *) vt_stringValueForKey:(NSString *) key;

-(BOOL) vt_booleanValueForKey:(NSString *) key;

-(int) vt_intValueForKey:(NSString *) key;

-(long) vt_longValueForKey:(NSString *) key;

-(long long) vt_longLongValueForKey:(NSString *) key;

-(float) vt_floatValueForKey:(NSString *) key;

-(double) vt_doubleValueForKey:(NSString *) key;

-(id) vt_objectValueForKey:(NSString *) key;

-(NSDictionary *) vt_dictionaryValueForKey:(NSString *) key;

-(NSArray *) vt_arrayValueForKey:(NSString *) key;




-(NSString *) vt_stringValueForKeyPath:(NSString *) keyPath;

-(BOOL) vt_booleanValueForKeyPath:(NSString *) keyPath;

-(int) vt_intValueForKeyPath:(NSString *) keyPath;

-(long) vt_longValueForKeyPath:(NSString *) keyPath;

-(long long) vt_longLongValueForKeyPath:(NSString *) keyPath;

-(float) vt_floatValueForKeyPath:(NSString *) keyPath;

-(double) vt_doubleValueForKeyPath:(NSString *) keyPath;

-(id) vt_objectValueForKeyPath:(NSString *) key;

-(NSDictionary *) vt_dictionaryValueForKeyPath:(NSString *) key;

-(NSArray *) vt_arrayValueForKeyPath:(NSString *) key;


-(NSString *) vt_stringValueForKey:(NSString *) key defaultValue:(NSString *) defalutValue;

-(BOOL) vt_booleanValueForKey:(NSString *) key defaultValue:(BOOL) defalutValue;

-(int) vt_intValueForKey:(NSString *) key defaultValue:(int) defalutValue;

-(long) vt_longValueForKey:(NSString *) key defaultValue:(long) defalutValue;

-(long long) vt_longLongValueForKey:(NSString *) key defaultValue:(long long) defalutValue;

-(float) vt_floatValueForKey:(NSString *) key defaultValue:(float) defalutValue;

-(double) vt_doubleValueForKey:(NSString *) key defaultValue:(double) defalutValue;

-(id) vt_objectValueForKey:(NSString *) key defaultValue:(id) defalutValue;



-(NSString *) vt_stringValueForKeyPath:(NSString *) keyPath defaultValue:(NSString *) defalutValue;

-(BOOL) vt_booleanValueForKeyPath:(NSString *) keyPath defaultValue:(BOOL) defalutValue;

-(int) vt_intValueForKeyPath:(NSString *) keyPath defaultValue:(int) defalutValue;

-(long) vt_longValueForKeyPath:(NSString *) keyPath defaultValue:(long) defalutValue;

-(long long) vt_longLongValueForKeyPath:(NSString *) keyPath defaultValue:(long long) defalutValue;

-(float) vt_floatValueForKeyPath:(NSString *) keyPath defaultValue:(float) defalutValue;

-(double) vt_doubleValueForKeyPath:(NSString *) keyPath defaultValue:(double) defalutValue;

-(id) vt_objectValueForKeyPath:(NSString *) key defaultValue:(id) defalutValue;


-(void) vt_setObjectValue:(id) value forKey:(NSString *) key;

-(void) vt_setObjectValue:(id) value forKeyPath:(NSString *) keyPath;

-(NSArray *) vt_arrayValue;

-(NSDictionary *) vt_dictionaryValue;

-(id) vt_objectValueAtIndex:(NSUInteger) index;

-(id) vt_dictionaryValueMutableCopy;

-(id) vt_arrayValueMutableCopy;

@end
